package com.bytz.modules.cms.reseller.entity;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bytz.common.entity.IEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 莱宝CMS—经销商管理—优惠券表
 * </p>
 *
 * @author KyleWang
 * @since 2022-10-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("cms_reseller_coupon")
@ApiModel(value="CouponReseller对象", description="莱宝CMS—经销商管理—优惠券表")
@ExcelIgnoreUnannotated //所有没有注解的字段都不转换
public class CouponReseller implements Serializable, IEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    private String id;

    @ApiModelProperty(value = "经销商ID")
    private String resellerId;

    @ApiModelProperty(value = "经销商名称")
    @ColumnWidth(20)
    @ExcelProperty(value = "供应商",index = 1)
    private String resellerName;

    @ApiModelProperty(value = "优惠券名字")
    @ColumnWidth(20)
    @ExcelProperty(value = "优惠卷名称",index = 0)
    private String couponName;

    @ApiModelProperty(value = "生效开始时间")
    @ExcelProperty(value = "生效日期(xxxx-xx-xx)",index = 4)
    @ColumnWidth(25)
    private LocalDateTime effectStartTime;

    @ApiModelProperty(value = "生效结束时间")
    @ExcelProperty(value = "结束日期(xxxx-xx-xx)",index = 5)
    @ColumnWidth(25)
    private LocalDateTime effectEndTime;

    @ApiModelProperty(value = "最低消费")
    @ColumnWidth(20)
    @ExcelProperty(value = "使用门槛(元)",index = 2)
    private BigDecimal minPrice;

    @ApiModelProperty(value = "优惠金额")
    @ColumnWidth(20)
    @ExcelProperty(value = "满减金额(元)",index = 3)
    private BigDecimal discountPrice;

    @ApiModelProperty(value = "状态(1-未使用,0-已使用)")
    private Integer status;

    @ApiModelProperty(value = "删除状态")
    @TableLogic
    private Integer delFlag;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "创建人姓名")
    private String createByName;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新人")
    private String updateBy;

    @ApiModelProperty(value = "更新人姓名")
    private String updateByName;

    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;


}
